package os;

/**
 *
 * @author Paulius Dambrauskas
 */
public class Indicator extends Process {
    
    @Override
    public void runProcess() {
        this.changeStepCell(step);
        switch(step){
            case 1:{
                //changeStepCell(1);
                OS.askRes("Lempa", selfId);
                incStep(1);
                break;
            }
            case 2:{
                //changeStepCell(2);
                OS.askRes("4 Kanalas", selfId);
                incStep(1);
                break;
            }
            case 3:{
                //changeStepCell(3);
                OS.window.processor.getCH4().setRegisterValue("1");
                String indiState = (String) this.takeFromGivenResources("Lempa").value;
                if(indiState.equals("1")){
                    OS.window.greenLight.setStyle(OS.window.greenOnStyle);
                    OS.window.redLight.setStyle(OS.window.redOffStyle);
                } else if(indiState.equals("2")){
                    OS.window.greenLight.setStyle(OS.window.greenOffStyle);
                    OS.window.redLight.setStyle(OS.window.redOnStyle);
                } else {
                    OS.window.greenLight.setStyle(OS.window.greenOffStyle);
                    OS.window.redLight.setStyle(OS.window.redOffStyle);
                }
                OS.sheduler();
                this.setState(2);
                OS.readyList.add(selfId);
                incStep(1);
                break;
            }
            case 4:{
                //changeStepCell(4);
                OS.freeRes(this.takeFromGivenResources("4 Kanalas"));
                OS.window.processor.getCH4().setRegisterValue("0");
                setStep(1);
                break;
            }    
        }
    }
    
}
